There have been many prior art techniques for assigning relative priorities between plural units requesting access to a single shared device. Some of these prior art techniques have contemplated assigning a fixed priority number of each of the units such that they always retain the same priority level when they request access to the shared device. An example of this would be assigning high priority numbers to selected units which are desired to have priority over all other requesting units for the shared device. While this method of assigning priorities is effective when fixed priorities are suitable for the particular application, it does have the disadvantage of being inflexible if the situation arises when a different order of priorities is desired. Normally this requires either reprogramming or rewiring of the individual units to establish their priority level at a different value.
Another priority technique for establishing priority of access to a shared device has been by the accumulated time method. This method contemplates accumulating within each requesting device the elapsed time from when the request for access for that device was first initiated and the current time. Access to the shared device is then allocated according to the period of time the units have been waiting for access with the unit waiting the longest being given the first access. This method is effective to establish dynamic priority access to a shared device because the priority of each of the units is determined by the particular sequence of access requests generated by the units. This method, however, is frequently undesirable because of the complications in accumulating in each unit the time since its last access request and the need to have an intelligent device poll the waiting units to access their elapsed time accumulators and determine by some algorithm which unit will next be granted access to the shared device. One skilled in the art will readily recognize that while there is dynamic priority ordering in the second method there is a significant overhead both in processing time and hardware requirements in implementing such a priority scheme.